﻿
Pages_Payment_ItemOut = new function () {
    this.ObjSearch = {
        GateWayId: -1,
        Status:-1
    };
    

    this.m_objPageItemOut = new VtcPaging("divItemOutPaging", "Pages_Payment_ItemOut.bindData", "pagingCss", 10, CONSTANT.PAGE_DISPLAY);
    this.getOptionSearch = function() {
        this.ObjSearch.GateWayId = $("#ddlGateWaySearch").val();
        this.ObjSearch.Status = $("#ddlStatusSearch").val();
    };
    this.lstGateWay = new Array();
    this.documentReady = function (gates) {
        if (typeof (gates) != "undefined")
            this.lstGateWay = gates;
        this.getOptionSearch();
        this.bindData(1, this.m_objPageItemOut.pageSize);
    };
    this.getGateWayInfo = function(id) {
        for (var i = 0; i < this.lstGateWay.length; i++) {
            if (this.lstGateWay[i].Id == id)
                return this.lstGateWay[i];
        }
        return null;
    };
    this.bindData = function (_cur, _ps) {
        Loading.showProcess();        
        $.ajax({
            type: "GET",
            url: "/handler/HandlerConfigPayment.ashx",
            data: { t: "GetItemOut", paymentGateWayId: this.ObjSearch.GateWayId, status: this.ObjSearch.Status, currentPage: _cur, pageSize: _ps },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function (data) {
                Pages_Payment_ItemOut.processData(data, _cur);
                Loading.closeProcess();
            }
        });

    };

    this.processData = function (data, _cur) {
        $("#spTotalAdmin").html('(' + data.TotalRecord.toString() + ')');
        $("#divListItemOut").setTemplateURL("/Template/Pages/Payment/ListItemOut.htm");
        $("#divListItemOut").processTemplate(data);
        Pages_Payment_ItemOut.setStyleRow("#divListItemOut");
        Pages_Payment_ItemOut.m_objPageItemOut.bindPaging(_cur, data.TotalRecord);
        if (data.TotalRecord <= Pages_Payment_ItemOut.m_objPageItemOut.pageSize) {
            $("#divItemOutPaging").attr('style', 'display:none');
        }
        else {
            $("#divItemOutPaging").attr('style', 'display:block');
        }
    };
   
    $("#btnSearch").live('click', function () {
        Pages_Payment_ItemOut.documentReady();
        
    });

   
    this.setStyleRow = function (m_selParent) {
        var m_stt = 0;
        $('#divListItemOut', m_selParent).each(function () {
            m_stt++;
            if ((m_stt % 2) == 0) {
                $(this.parentNode).addClass('even');
            }
            else {
                $(this.parentNode).addClass('odd');
            }
        });
    };    
    $("#liUnlock").live("click", function () {


        var m_id = $(this).parent().attr("id").substring(2);       
        Loading.showProcess();
        var mData = {
            id: m_id,
            status: 1
        };
        $.ajax({
            type: "POST",
            url: "/WebService/WSPaymentConfig.asmx/ItemOutUpdateStatus",
            data: JSON.encode(mData),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function (data) {
                if (typeof (data) != "undefined" && data != null) {
                    Loading.closeProcess();
                    if (data.d == -1) {
                        jAlert("Bạn không có quyền thực hiện chức năng này!");
                        return;
                    }
                    if (data.d > 0) {
                        jAlert("Cập nhật thành công!");
                        Pages_Payment_ItemOut.documentReady();
                    } else {
                        jAlert("Có lỗi xảy ra trong quá trình xử lý!");
                    }
                }
            }
        });
    });
    
    $("#liLock").live("click", function () {


        var m_id = $(this).parent().attr("id").substring(2);
        Loading.showProcess();
        var mData = {
            id: m_id,
            status: 0
        };
        $.ajax({
            type: "POST",
            url: "/WebService/WSPaymentConfig.asmx/ItemOutUpdateStatus",
            data: JSON.encode(mData),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function (data) {
                if (typeof (data) != "undefined" && data != null) {
                    Loading.closeProcess();
                    if (data.d == -1) {
                        jAlert("Bạn không có quyền thực hiện chức năng này!");
                        return;
                    }
                    if (data.d > 0) {
                        jAlert("Cập nhật thành công!");
                        Pages_Payment_ItemOut.documentReady();
                    } else {
                        jAlert("Có lỗi xảy ra trong quá trình xử lý!");
                    }
                }
            }
        });
    });
    $("#liDelete").live("click", function () {


        var m_id = $(this).parent().attr("id").substring(2);
        Loading.showProcess();
        var mData = {
            id: m_id,            
        };
        $.ajax({
            type: "POST",
            url: "/WebService/WSPaymentConfig.asmx/ItemOutDelete",
            data: JSON.encode(mData),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function (data) {
                if (typeof (data) != "undefined" && data != null) {
                    Loading.closeProcess();
                    if (data.d == -1) {
                        jAlert("Bạn không có quyền thực hiện chức năng này!");
                        return;
                    }
                    if (data.d == -2) {
                        jAlert("Bạn không thể xóa gói này vì tồn tại người dùng đã mua!");
                        return;
                    }
                    if (data.d > 0) {
                        jAlert("Cập nhật thành công!");
                        Pages_Payment_ItemOut.documentReady();
                    } else {
                        jAlert("Có lỗi xảy ra trong quá trình xử lý!");
                    }
                }
            }
        });
    });
    this.IdItem = -1;
    $("#liEdit").live("click", function () {
        var m_id = $(this).parent().attr("id").substring(2);
        Pages_Payment_ItemOut.IdItem = m_id;
        Loading.showProcess();   
        $.ajax({
            type: "GET",
            url: "/handler/HandlerConfigPayment.ashx",
            data: { t: "GetItemOutInfo", id: m_id },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function(data) {
                if (typeof (data) != "undefined" && data != null) {                    
                    Pages_Payment_ItemOut.bindInfo(data);
                    Loading.closeProcess();
                }
            }
        });
    });
    
    $("#btnUpdate").live("click", function () {                
        var mData = {
            id:Pages_Payment_ItemOut.IdItem,
            paymentGatewayId:parseInt($("#ddlGateWay").val()),
            name:$.trim($("#txtName").val()), 
            description:$.trim($("#txtDescriptionUpdate").val()), 
            auOut: parseInt($("#txtAu").val()),
            agOut:parseInt($("#txtAg").val()),
            receiveAmount: parseInt($("#txtAmount").val()),
            vndOut: parseInt($("#txtVnd").val()),
            quantity: parseInt($("#txtQuantity").val()),
            status: parseInt($("#ddlStatus").val())
        };
        if (mData.name == '') {
            jAlert("Bạn chưa nhập tên!", function () {
                $("#txtName").focus();
            });
            return;
        }
        if (!(mData.receiveAmount > 0)) {
            jAlert("Bạn chưa nhập số lượng nhận!", function () {
                $("#txtAmount").focus();
            });
            return;
        }
        if (!(mData.vndOut > 0)) {
            jAlert("Bạn chưa nhập số tiền tính ra VNĐ!", function () {
                $("#txtVnd").focus();
            });
            return;
        }
        if (!((mData.auOut + mData.agOut) > 0)) {
            jAlert("Bạn chưa nhập số vàng trả!", function () {
                $("#txtAu").focus();
            });
            return;
        }
        Loading.showProcess();
        $.ajax({
            type: "POST",
            url: (mData.id>0?"/WebService/WSPaymentConfig.asmx/ItemOutUpdate":"/WebService/WSPaymentConfig.asmx/ItemOutInsert"),
            data: JSON.encode(mData),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false,
            success: function (data) {
                if (typeof (data) != "undefined" && data != null) {
                    Loading.closeProcess();
                    if (data.d == -1) {
                        jAlert("Bạn không có quyền thực hiện chức năng này!");
                        return;
                    }
                   
                    if (data.d > 0) {
                        jAlert("Cập nhật thành công!");
                        Pages_Payment_ItemOut.documentReady();
                        Pages_Payment_ItemOut.displayInfo(false);
                    } else {
                        jAlert("Có lỗi xảy ra trong quá trình xử lý!");
                    }
                }
            }
        });
    });
    $("#btnAddNew").live('click', function () {
        Pages_Payment_ItemOut.IdItem = -1;
        Pages_Payment_ItemOut.bindInfo(null);        
    });
    $("#btnCancel").live('click', function () {
        Pages_Payment_ItemOut.IdItem = -1;
        Pages_Payment_ItemOut.displayInfo(false);
    });
    this.bindInfo = function(data) {
        if (data == null) {            
            $("#txtName").val('');
            $("#txtDescriptionUpdate").val('');
            $("#txtAmount").val('0');
            $("#txtVnd").val('0');
            $("#txtAu").val('0');
            $("#txtAg").val('0');
            $("#txtQuantity").val('0');            
            $("#divCreateDate").hide();
            $("#lbCreateDate").html('');
            $("#lbModifiedDate").html('');
        } else {
            $("#ddlGateWay").val(data.PaymentGatewayId);
            $("#txtName").val(data.Name);
            $("#txtDescriptionUpdate").val(data.Description);
            $("#txtAmount").val(data.ReceiveAmount);
            $("#txtVnd").val(data.VndOut);
            $("#txtAu").val(data.AuOut);
            $("#txtAg").val(data.AgOut);
            $("#txtQuantity").val(data.Quantity);
            $("#divCreateDate").show();
            $("#ddlStatus").val(data.Status);
            $("#lbCreateDate").html(COMMON.jSonDateToString(data.CreatedDate, 1));
            $("#lbModifiedDate").html(COMMON.jSonDateToString(data.ModifiedDate, 1));
        }
        Pages_Payment_ItemOut.displayInfo(true);
        this.onChangeGateWay();
    };
    this.displayInfo = function(dis) {
        if (dis) {
            $("#divList").hide();
            $("#divDetail").show();
            this.onChangeGateWay();
        } else {
            $("#divList").show();
            $("#divDetail").hide();
        }
    };
    this.onChangeGateWay = function() {
        var gateId = parseInt($("#ddlGateWay").val());
        var gate = this.getGateWayInfo(gateId);
        $("#lblUnit").html(gate.Unit);
    };
}